<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

</body>
<script>
  // 原始数据
  var arr = [100, 5, 1, 23, 45, 56, 56, 7, 78, 78, 43, 34, 3, 43, 5, 56, 567]


  // 排序算法
  function selectionSort(arr) {

    // 外层循环，遍历所有待排序数据
    for (var i = 0; i < arr.length - 1; i++) {
      // 标记最小位置
      var minIndex = i          // 标记最小值索引

      // 内层循环：将标记数据和其他数据进行比较
      // 找到真实的最小值的位置
      for (var j = i + 1; j < arr.length - 1; j++) {
        if (arr[minIndex] > arr[j]) {
          minIndex = j // 交换最小值索引
        }
      }

      // 如果最小值不是当前正在循环的数据：交换数据
      if (minIndex !== i) {
        var min = arr[minIndex]
        arr[minIndex] = arr[i]
        arr[i] = min
      }
    }
  }

  // 执行排序
  selectionSort(arr)
  console.log(arr, "排序后")

</script>

</html>